import java.util.Random;
import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: LXW
 * Date: 2022-01-11
 * Time: 9:56
 */
public class TestDemo {
        public static void main(String[] args) {
            Random random = new Random(); // 默认随机种子是系统时间
            Scanner sc = new Scanner(System.in);
            int toGuess = random.nextInt(100);
            while (true) {
                System.out.println("请输入要输入的数字: (1-100)");
                int num = sc.nextInt();
                if (num < toGuess) {
                    System.out.println("低了");
                } else if (num > toGuess) {
                    System.out.println("高了");
                } else {
                    System.out.println("猜对了");
                    break;
                }
            }
            sc.close();
        }
    //  求出0～999之间的所有“水仙花数”并输出。(“水仙花数”是指一个三位数，其各位数字的立方和确好等于该数本
    //身，如；153＝1＋5＋3?，则153是一个“水仙花数”。)

    /**计算各位数字的立方和
     *
     * @param i
     * @return
     */
    public static int fun(int i) {
        int sum = 0;
        while (i > 0) {
            int tmp= i%10;
            sum += tmp*tmp*tmp;     // 将各个数字的立方和累加
            i /= 10;
        }
        return sum;
    }
    public static void main16(String[] args) {
        for (int i = 0; i <= 999; i++) {
            if (i > 99 && fun(i) == i) {       // 水仙花数判断条件
                System.out.println(i+"是水仙花数");
            }
        }
    }
    // 完成猜数字游戏
    public static void main15(String[] args) {
        Random random = new Random();
        int num = random.nextInt(100);
        Scanner scanner = new Scanner(System.in);
        while (true) {
            System.out.println("请输入你要猜的数字");
            int n = scanner.nextInt();
            if (n < num) {
                System.out.println("猜小了");
            }else if (n > num) {
                System.out.println("猜大了");
            }else {
                System.out.println("猜对了");
                break;
            }
        }
    }
    // 输出一个整数的每一位
    public static void main14(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();
        for (int i = 31; i >= 0 ; i--) {
            System.out.print((num >>> i) & 1);
        }
    }
    // 获取一个数二进制序列中所有的偶数位和奇数位， 分别输出二进制序列
    public static void main13(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();
        for (int i = 31; i > 0; i-=2) {
            System.out.print((num >>> i) & 1);  // 输出偶数
        }
        System.out.println();
        for (int i = 30; i >= 0; i-=2) {
            System.out.print((num >>> i) & 1 );  // 输出奇数
        }
    }
    //  写一个函数返回参数二进制中 1 的个数 比如： 15 0000 1111 4 个 1
    public static int func(int n) {
        int count = 0;
        while (n != 0) {
            if ((n & 1) == 1){
                count++;
            }
            n = n >>>1;
        }
        return count;
    }
    public static void main12(String[] args) {
        int n = 12;
        System.out.println(func(n));
    }
    // . 编写代码模拟三次密码输入的场景。 最多能输入三次密码，密码正确，提示“登录成功”,密码错误， 可以重新输
    //入，最多输入三次。三次均错，则提示退出程序
    public static void main11(String[] args) {
        int passport = 123;
        for (int i = 3; i > 0; i--) {
            System.out.println("请输入你的密码");
            Scanner scanner = new Scanner(System.in);
            int n = scanner.nextInt();
            if (n == passport) {
                System.out.println("密码正确");
                break;
            }else {
                System.out.println("密码错误，你还有"+(i-1)+"次机会");
            }
        }

    }
    // 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
    public static void main10(String[] args) {
        double sum = 0.0;
        int flg =1;
        for (int i = 1; i <= 100; i++) {
            sum += 1.0/(flg*i);
            flg = -flg;
        }
        System.out.println(sum);
    }
    // 编写程序数一下 1到 100 的所有整数中出现多少个数字9
    public static void main9(String[] args) {
        int count = 0;
        for (int i = 1; i <= 100; i++) {
            if (i % 10 == 9) {
                count++;
            }
            if (i / 10 == 9) {
                count++;
            }
        }
        System.out.println(count);
    }
    // 求a、b的最大公约数
    public static void main8(String[] args) {
        int a = 14;
        int b = 23;
        int c = a % b;
        while (c != 0) {
            a = b;
            b = c;
            c = a % b;
        }
        System.out.println("最大公约数等于"+b);
    }
    // 输出乘法口诀表
    public static void main7(String[] args) {
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(i+"*"+j+"="+i*j+" ");
            }
            System.out.println();
        }
    }
    // 输出 1000 - 2000 之间所有的闰年
    public static void main6(String[] args) {
        for (int year = 1000; year < 2000; year++) {
            if (year % 100 != 0 && year % 4 == 0 || year % 400 == 0) {
                System.out.println(year);
            }
        }
    }
    // 打印 1 - 100 之间所有的素数
    public static void main5(String[] args) {
        for (int i = 1; i < 100; i++) {
            int j = 2;
            for (; j <= Math.sqrt(i); j++) {
                if (i % j == 0) {
                    break;
                }
            }
            if (j > Math.sqrt(i)) {
                System.out.println(i);
            }
        }
    }
    // 判定一个数字是否是素数
    public static void main4(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int i = 2;
        for (; i <= Math.sqrt(n); i++) {
            if (n % i == 0) {
                System.out.println(n+"不是素数");
                break;
            }
        }
        if (i > Math.sqrt(n)) {
            System.out.println(n+"是素数");
        }
    }
    // 判定一个数字是否是素数
    public static void main3(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int i = 2;
        for (; i <= n/2; i++) {
            if (n % i == 0) {
                System.out.println(n+"不是素数");
                break;
            }
        }
        if (i > n/2) {
            System.out.println(n+"是素数");
        }
    }
    // 判定一个数字是否是素数
    public static void main2(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int i = 2;
        for (; i < n; i++) {
            if (n % i == 0) {
                System.out.println(n+"不是素数");
                break;
            }
        }
        if (i == n) {
            System.out.println(n+"是素数");
        }
    }
    //  根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)
    public static void main1(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int year = scanner.nextInt();
        if (year < 18) {
            System.out.println("少年");
        } else if (year <= 28) {
            System.out.println("青年");
        } else if (year < 55) {
            System.out.println("中年");
        } else {
            System.out.println("老年");
        }
    }
}
